package com.efuture.chapterfour

import java.io.File

/* @Description:Kotlin中的数组类型
 * @Auther: zhaoshanshan
 * @Date: 2022/03/06/7:05 下午
 */
//Kotlin语言中各种数组类型 虽然是引用类型 背后可以编译成java基本数据类型
// IntArray intArrayOf
// DoubleArray doubleArrayOf
// ShortArray shortArrayOf
// LongArray longArrayOf
// ByteArray byteArrayOf
// BooleanArray boolenaArrayOf
// FloatArray floatArrayOf
// BooleanArray booleanArrayOf
//Array arrayOf

fun main() {

  //创建一个int类型的数组
   val intArray = intArrayOf(1,2,3,4)
    //获取数组元素
    println(intArray[0])
    println(intArray[1])
    println(intArray[2])
    println(intArray[3])
    //println(intArray[4]) 越界
    println()
    //数组下标越界处理 elementAtOrElse方式
    println(intArray.elementAtOrElse(0){-1})
    println(intArray.elementAtOrElse(1){-1})
    println(intArray.elementAtOrElse(2){-1})
    println(intArray.elementAtOrElse(3){-1})
    println(intArray.elementAtOrElse(3){-1})//越界将会返回-1

    println()
   //数组下标越界处理 elementAtOrNull方式  越界返回null
    println(intArray.elementAtOrNull(0))
    println(intArray.elementAtOrNull(1))
    println(intArray.elementAtOrNull(2))
    println(intArray.elementAtOrNull(3))
    println(intArray.elementAtOrNull(4)?:"你越界啦")

    println()
    //arrayOf 创建数组 返回的是ObjArray
    val file: Array<File> = arrayOf(File("AAA"),File("BBB"))


}